Robots may perform a variety of tasks during which end effectors or other components of the robots must move to perform the tasks. For example, to retrieve an object and place the object in a container, an end effector of a robot must move from a current location to a pick up location for the object, then after picking up the object must move again to reach a location for placing the object in the container. A trajectory of the end effector during the movement defines the progression over time of motion states (e.g., position, velocity, acceleration, and/or jerk) of the end effector. Moreover, the trajectory of the end effector during the movement is dictated by the trajectories of actuators of the robot that control the movement of the end effector. Accordingly, the trajectory of the end effector during a movement is dictated by the progression over time of position, velocity, acceleration, and jerk of each of the actuators that control the movement of the end effector.
Various techniques may be employed for determining one or more trajectories to be followed by a robot in performance of a task. For example, some robots may employ real-time trajectory generation techniques that enable trajectories for actuators to be generated in real-time (e.g., within a control cycle of a robot), while taking into consideration kinematic motion constraints of the robots.
While some real-time trajectory generation techniques enable trajectories to be generated that satisfy certain kinematic constraints of a robot, they may not actively take into account one or more additional constraints, such as torque constraints. For instance, some real-time trajectory generators may seek to generate trajectories that operate in view of one or more defined “maximum”/“minimum” kinematic constraints (e.g., velocity, acceleration, and/or jerk) to achieve a “time optimal” trajectory. Since the real-time trajectory generators may not actively take torque constraints into account, the maximum/minimum kinematic constraints of such real-time trajectory generators are often set and maintained at conservative magnitudes to lessen the chance that generated trajectories will violate torque constraints.
Accordingly, while generated trajectories may be time optimal according to the defined kinematic constraints, in reality many generated trajectories may have more time optimal counterparts that could be achieved if less conservative maximum/minimum kinematic constraints were utilized. Additionally, there may be some configurations of a robot where the defined kinematic constraints may not be valid, and the robot may not be able to achieve a generated trajectory due to the dynamics of the robot in that configuration making it infeasible to track the planned motion. Additional and/or alternative drawbacks of these and/or other techniques may be presented.